网络监听技术的原理是什么
网络监听的目的是截获通信的内容,监听的手段是对协议进行分析。Snifer pro就是一个完善的网络监听工具。我们以它为例:
监听器Sniffer的原理是:在局域网中与其他计算机进行数据交换时数据包发往所有的连在一起的主机,也就是广播,在报头中包含目的机的正确地址。因此只有与数据包中目的地址一致的那台主机才会接收数据包,其他的机器都会将包丢弃。但是,当主机工作在监听模式下时,无论接收到的数据包中目的地址是什么,主机都将其接收下来。然后对数据包进行分析,就得到了局域网中通信的数据。一台计算机可以监听同-网段所有的数据包,不能监听不同网段的计算机传输的信息。
网络监听技术原本是为网络安全管理人员服务的,可以为其安全管理提供重要信息。使用网络监听技术可以用来监视网络的运行情况、数据的流量流向以及甚至网络上传送的具体信息等。通过使用网络嗅探器可以把计算机网卡设置于混杂模式,这样就可以对网络中流动的数据包进行收集及分析,若是再配合信息解密等技术,则可以对网络上传输的信息进行更深入的分析。
在局域网实现监听的基本原理
局域网中所使用的以太网协议,其数据传输方式并非是点对点的模式,而是一种广播方式,源主机将数据包发往本地网段中所有的主机,数据包中标明了目的主机的IP地址,只有IP地址与数据包中地址一致的主机才会对接收到的数据包进行处理,其它主机虽然也能够收到数据包,但由于其IP地址不一致,因此并不会对数据包进行处理,而是简单的丢弃。但是,当主机工作在监听模式下时,无论数据包中的目标地址是什么,主机都会将数据包接收下来,不过也是只能接收那些经过自己网络接口的数据包。
在互联网上有很多使用以太网协议的局域网,根据计算机网络分层协议, 数据包从应用层出发, 经传输层(使用TCP或UDP协议)、网络层(使用IP协议),再经数据链路层,最后在物理层上进行传输。物理层只负责传送信息流,不对信息做任何处理,而数据链路层和网络层都需要数据包中的地址信息,网络层处理的是IP地址,数据链路层处理的是物理地址,IP地址包含在IP数据包的包头,而物理地址包含在数据帧的帧头。
传输数据时,包含物理地址的数据帧从网络接口(网卡)发送到物理的线路上,同一条物理链路上的主机都能够接收到这个数据帧。当数字帧到达一台主机的网络接口时,正常情况下,网络接口读取数据帧,进行目的地址检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。
然而,当主机工作在监听模式下时,所有的数据帧都将被接收下来,然后交给上层协议软件(即IP层)处理。而且,就算连接在同一条电缆或集线器上的主机被逻辑地划分为几个不同的子网时,处于监听模式下的主机也能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。此时网络监控者可以再通过其它方式对接收到的数据包进行分析,从中提取自己感兴趣的信息。